package io;

import java.io.*;
import java.util.Scanner;

/**
 * 使用PrintWriter完成简易记事本工具。
 * 程序启动后，要求用户输入一个文件名，然后将用户后续输入的每一行字符串都按行写入该文件中。
 * 当用户单独输入exit时程序退出。
 * 要求:创建PrintWriter时要自行完成流链接操作。
 */
public class NoteDemo2 {
    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {

        Scanner scan = new Scanner(System.in);
        System.out.println("请输入文件名:");
        String line = scan.nextLine();
        System.out.println("请输入内容:");
        String matter = scan.nextLine();

        FileOutputStream fos = new FileOutputStream(line+".txt");
        OutputStreamWriter ows = new OutputStreamWriter(fos,"UTF-8");
        BufferedWriter obs = new BufferedWriter(ows);
        PrintWriter pws = new PrintWriter(obs);
//        PrintWriter pws = new PrintWriter(obs, true ); 相遇有pws.flush();
        /*
        在流链接中创建PrintWriter时，构造方法允许我们在传入一个boolean型参数，该值为true
        时当前PW就具有自动行刷新功能，即:每当我们调用 println 方法时会自动 flush.
        注意:print
            方法写出后不会自动flush.
         */

        while ( ("exit".equalsIgnoreCase(matter)) != true ){
            matter = scan.nextLine();
            pws.println(matter);
            pws.flush();
        }
        System.out.println("再见!!!");
        pws.close();







    }
}
